The typical computer system includes at least one processor and a memory device. Executing on the computer system are various types of applications, such as operating system applications and user applications. Typical user applications require that a user enter data into the application. For example, user applications that use forms, such as spreadsheets, databases, web pages, and tax applications are designed around the concept of forms. A form corresponds to any type of document (Hyper-text Markup Language (HTML) page, spreadsheets, etc.) in which functionality is achieved through a combination of fields and calculations. A field in a form stores a data value, which may be supplied by the user (or other outside resource), or calculated using an equation.
Often, the interdependencies in an application are complicated. For example, the interdependencies between fields in a form and the equations used in different fields are often not intuitive to programmers or users. For example, in a tax application, a user may be unable to understand how input in one field relates to input in another field. Specifically, the user may only see the end result of any calculations that are performed.
In order to understand the interdependencies of a document, users (e.g., users of a spreadsheet application) rely on static explanations that are produced by individuals writing the help files. The help files correspond to a snapshot of the description of the application at the time the application is created. Accordingly, the explanation found in the help files is static in nature. Thus, the explanations found in the help file remain static even when the documents that the help files are explaining are dynamic. When modifications are made to the form and a new version of the application is produced, each affected portion of a help file must be updated to ensure the help files are consistent with the form.